package com.design.found.factory.simple;

/**
 * 1. 简单工厂模式
 * 该模式对对象创建管理方式最为简单，因为其仅仅简单的对不同类对象的创建进行了一层薄薄的封装。
 * 该模式通过向工厂传递类型来指定要创建的对象。
 * @author : AnWen
 * @version :1.0
 * @email : anwen375@qq.com
 * @since : 2020/3/4 18:37
 */
public class ColorFactory {
    //使用 getColor 方法获取形状类型的对象
    public Color getColor(String colorType) {
        if (colorType == null) {
            return null;
        }
        if (colorType.equalsIgnoreCase("RED")) {
            return new Red();
        } else if (colorType.equalsIgnoreCase("BLUE")) {
            return new Blue();
        } else if (colorType.equalsIgnoreCase("YELLOW")) {
            return new Yellow();
        }
        return null;
    }


    public static void main(String[] args) {

        ColorFactory colorFactory = new ColorFactory();
        Color red = colorFactory.getColor("RED");
        Color blue = colorFactory.getColor("BLUE");
        Color yellow = colorFactory.getColor("YELLOW");

    }
}
